package com.education.service;

import java.text.ParseException;
import java.util.List;
import com.education.model.CourseInform;
import com.education.model.StudentModel;
import com.github.pagehelper.PageInfo;

/**
 * 课程通知ServiceApi接口
 * @author 赵睿慷
 *
 */
public interface ICourseServiceApi {

    /**
     * 查询
     * 2017/8/3 增加参数 teacherId 当前登陆的用户
     * @param teacherId
     * @param courseName 传入课程名称
     * @param informId   传入课程通知编号
     * @param pageNo     当前页
     * @param pageSize   总数据条数
     * @return PageInfo<CourseInform> 实体类分页
     */
    PageInfo<CourseInform> selectInformById(int teacherId,String courseName,Integer informId,Integer pageNo, Integer pageSize);
    /**
     * 修改
     * 2017/8/8 修改 by 雷紫辉 删除无用参数
     * @param courseInform 传入实体类对象
     * @return int .
     */
    int updateCourseById(CourseInform courseInform);
    
    /**增加
     * @param courseInform 传入实体类对象
     * @param courseName   传入课程名称
     * @return int 
     */
    int addCourseById(CourseInform courseInform,String courseName);

    /**
     * 添加一条通知记录 2017/8/3 by 雷紫辉  新增方法替代addCourseById 这个有误的方法
     * @param courseInform
     * @return
     */
    int addCourseInfo(CourseInform courseInform);
    
    /**
     * 增加中的通过课程名称获取编号
     * @param tId 传入教师编号
     * @return 课程编号.
     */
    String selectCourseById(int tId);
    
    /**
     * 增加中的通过教师编号获取名称
     * @param teacherId 传入教师id
     * @return 教师名称.
     */
    List<CourseInform> selectTeacherById(int teacherId);
    /**
     * 删除
     * @param informId 传入id号
     * @return int 
     */
    int deleteCourseById(int informId);


    /**
     * 通过时间范围查询 2017/8/3 by 雷紫辉
     * @param dataRange
     * @param teacherId
     * @param pageNum
     * @param pageSize
     * @return
     */
    PageInfo<CourseInform> searchInformByDataRange(String[] dataRange,Integer teacherId,Integer pageNum,Integer pageSize) throws ParseException;


    /**
     * 查找出这个所有接受这个老师课程的学生
     * @param tId
     * @return
     */
    List<StudentModel> getStudentByTeacherId(int tId);

    
}
